/*
 * 北京掌中彩信息科技有限公司源代码，版权归北京掌中彩信息科技有限公司所有。
 * 
 * 项目名称 : common-service
 * 创建日期 : 2015年8月27日
 * 修改历史 : 
 *     1. [2015年8月27日]创建文件 wuqinglong
 */
package com.xb.loan.usercenter.service.user;



import com.xb.loan.log.exception.BizException;
import com.xb.loan.usercenter.service.user.bean.LoginInfoVO;
import com.xb.loan.usercenter.service.user.bean.UserSessionIdBakVO;

public interface ISessionService {

	/**
	 * 退出登录时，清除session会话
	 * @param sessionId
	 * @return
	 * @throws BizException
	 */
	public boolean clearUserInfoCache(String sessionId) throws BizException;
	
	/**
	 * 依据sessionId查询缓存中用户登录信息
	 * @param sessionId
	 * @return
	 * @throws BizException
	 */
	public LoginInfoVO queryUserInfoCache(String sessionId) throws BizException;
	
	/**
	 * 新增缓存中的用户登录信息(会同时存入UserInfo和UserSessionIdBak)
	 * @param loginInfoVO
	 * @return
	 * @throws BizException
	 */
	public String insertUserInfoCache(LoginInfoVO loginInfoVO) throws BizException;
	
	/**
	 * 只缓存UserInfo信息
	 * @param loginInfoVO
	 * @return
	 * @throws BizException
	 */
	public String insertUserInfoCacheOnly(LoginInfoVO loginInfoVO) throws BizException;
	
	/**
	 * 更新缓存中的用户登录信息
	 * @param loginInfoVO
	 * @return
	 * @throws BizException
	 */
	public boolean updateUserInfoCache(LoginInfoVO loginInfoVO) throws BizException;
	
	/**
	 * 生成sessionId
	 * @param loginInfoVO
	 * @return
	 * @throws BizException
	 */
	public String generateSessionId(LoginInfoVO loginInfoVO) throws BizException;
	
	/**
	 * 依据用户Id查询对应的老的sessionId
	 * @param userId
	 * @return
	 * @throws BizException
	 */
	public UserSessionIdBakVO queryUserSessionIdBakVO(String userId) throws BizException;
	
	/**
	 * 新增
	 * @param userSessionIdBakVO
	 * @return
	 * @throws BizException
	 */
	public boolean insertUserSessionIdBakVO(UserSessionIdBakVO userSessionIdBakVO) throws BizException;
	
	/**
	 * 更新
	 * @param userSessionIdBakVO
	 * @return
	 * @throws BizException
	 */
	public boolean updateUserSessionIdBakVO(UserSessionIdBakVO userSessionIdBakVO) throws BizException;
	
	/**
	 * 清除
	 * @param userId
	 * @return
	 * @throws BizException
	 */
	public boolean clearUserSessionIdBakVO(String userId) throws BizException;
	
	public LoginInfoVO queryUserInfoCacheOnly(String sessionId) throws BizException;
	
}
